[Q001] With the IS-AGB-MIDI, how do I specify the timbre
and create sounds for timbres' input to a voice group other than using voice group
"0" from an external sequencer?
[Q002] When I use SoundDriver-(), the system hangs!
[Q003] Are the IS-AGB-MIDI hardware specifications publicly
available?
[Q004] When I try setting the PCM volume to the maximum
value of 15, continuous noise is generated.
[Q005] How do I set the fundamental tone key in the AGB
Music Player?
[Q006] After I use m4aMPlayFadeOut(), I can't restart the
melody, even if I use m4aMPlayContinue().
[Q007] When I call m4aSoundMain() inside an interrupt, the
system freezes.
[Q008] How do I reference the values set for reverb and
master volume in the Music Player?
[Q009] When the melody is halted during playback of a
prolonged sound effect like the engine sound in the sample, the melody (sound effect) does
not resume, even though the melody restart process has been executed.
[Q010]CGB-compatible sounds do not play as well as I
thought they would.
[Q011] The Music Player AGB2000 manual talks about
occupying DMA1, DMA2 & Timer 0, but is anything done with those interrupts?
[Q012] When I overlay a single bullet shot sound effect
while playing BGM or looped data, the BGM's reverb disappears.
[Q013]The sound effect priority does not work with the
Music Player AGB2000. All the sounds that come out later are cut. Why does this happen?
With the IS-AGB-MIDI, how do I specify the timbre and create sounds for timbres' input to a voice group other than using voice group "0" from an external sequencer?
Please use the following method:
1. Specify the vgroup for the mks4agb.ini MIDI input performance setting.
2. Specify MIDI:VGR for display only during MIDI input performances on the simple
monitor.
You cannot specify vgroup from an external sequencer.
When I use SoundDriver-(), the system hangs!
Are you using the AGB Target Board (TS2)?
The sound drivers included in the TS2 system ROM are based on the old specifications, so
please do not use them.
The sound drivers included in the system ROM of the Development AGB (TS4) are based on the
latest specifications, so if you are going to use sound drivers please use a Development
AGB (TS4).
I want to use IS-AGB-MIDI with programs other than Music PlayerAGB2000. Are the hardware specifications publicly available?
Sorry, but for various reasons the IS-AGB-MIDI specifications have not been made public.
When I try setting the PCM volume to the maximum value of 15, continuous noise is generated.
With direct sound, the value of the sound volume can overflow when a number of channels
of waveform data are added together. It is not practical to avoid this overflow when
coding the program because it takes too much execution time. If you think that overflow
will occur, then lower the sound volume ahead of time.
There is no fixed value for lowering the volume. Determine the most appropriate value for
the given game. Keep in mind the volume of the waveform data, the melody data being used,
and the way that the melodies overlap. We recommend using the initial value of mks4agb.ini
and controlling them with the volume of the MIDI data, or by the velocity.
How do I set the fundamental tone key?
The procedure differs depending on which waveform editing software you are using.
Almost none of the Windows software programs provide a way to specify the fundamental tone
key (the original pitch.) Accordingly, AIFF files output by these programs are
automatically set with a default value of "60" by the Music Player AGB2000.
Moreover, almost none of the Windows programs support the loop function. (Music Player
2000 converts loop to "1 Shot".)
Regarding Macintosh software, the following programs have been confirmed to support
setting the original pitch.
- Peak (Bias)
- SoundEdit16 (Macromedia)
- Alchemy KORG (no longer distributed)
Please read the product manual to see how to set the fundamental tone key (original pitch)
with each program.
After I use m4aMPlayFadeOut(), I can't restart the melody, even if I use m4aMPlayContinue().
The m4aMPlayFadeOut() function is a process that leads to a total halt, terminating the fadeout and all tracks when the volume reaches zero. This is convenient if you want the main program to wait for the end of the fadeout and then move to the next process. If you need a function that behaves like m4aMPlayFadeOutPause(), you can create this using m4aMPlayVolumeControl() to periodically lower the overall volume. m4aMPlayFadeOut() also works in this way to lower the volume overall.
When I call m4aSoundMain() inside an interrupt, the system freezes.
It could be that the stack used for the IRQ mode is causing an overflow. Try expanding
the stack region used for the IRQ mode in crt0.s, using the following procedure.
sp_usr: .word WRAM_END - 0x1a0
sp_irq: .word WRAM_END - 0x60
How do I reference the values set for reverb and master volume in the Music Player?
To reference the values for reverb and master volume, see the following variables.
Reverb............m4a_sound.reverb
Master Volume.....m4a_sound.masvol
When the melody is halted during playback of a prolonged sound effect like the engine sound in the sample, the melody (sound effect) does not resume, even though the melody restart process has been executed.
For sound effects like the engine sound, the Key On information is located only at the front of the melody, so you need to call the beginning of the melody (m4aSongNumStart ) again.
CGB-compatible sounds do not play as well as I thought they would.
You can increase the reproduction rate of the CGB-compatible sounds by setting the PWM control to a sampling frequency of 262.144KHz and an amplitude resolution to 6 bits. For further details, see section 10.8 Sound PWM Control in the Programming Manual
The Music Player AGB2000 manual talks about using DMA1, DMA2 & Timer 0, but is anything done with those interrupts?
No, the interrupts are not used. By matching the timing to V-Sync, the system operates without using them.
When I overlay a single bullet shot sound effect while playing BGM or looped data, the BGM's reverb disappears.
According to the sound driver specifications, if the background music has reverb and a sound effect with reverb is produced while the BGM is being produced, then the value of the BGM's reverb is updated to the value of the sound effect's reverb. The way around this situation is to use the sound effect with its reverb value set to "off", rather than to reverb 0.
The sound effect priority does not work with Music Player 2000. All the sounds that are played last are "stolen". Why does this happen?
When the same sound source is used by different players, the first few sounds that come
out have priority over the sounds that come later. The music player with the highest
priority will be used first. When using the same player, however, the "melody
start" is not related to priority and the sounds that are played last will always
start.
If you want to determine the priority at the time a melody starts, perform an independent
check before calling the Music Player 2000 Start Routine. At that time, the priority of
the currently playing melody is (&m4a_mplay???) prio and the priority of the melody that is about to start is SongName
prio. You can use this to make the determination.
D.C.N. AGB-06-0027-001A1 (2/21/01)
© 2001 Nintendo of America Inc.